package rt

import (
	"fmt"
	"kumachan/stdlib"
)


type GeneratedNativeFunctionSeed interface {
	Evaluate(ctx GeneratedNativeFunctionSeedEvaluator) NativeFunction
	fmt.Stringer
}
type GeneratedNativeFunctionSeedEvaluator struct {
	// nothing now
}

type AssetSeed struct {
	Asset  *stdlib.Asset
}
func (f AssetSeed) String() string {
	return f.Asset.Path
}
func (f AssetSeed) Evaluate(_ GeneratedNativeFunctionSeedEvaluator) NativeFunction {
	return func(_ Value, _ InteropContext) Value {
		return f.Asset
	}
}


